<?php
class Encuesta {
//put your code here

    var $id;
    var $usuario;
    var $titulo;
    var $estado;
    var $hash;
    var $preguntas = array();
    var $controladores;
    var $tipo;
    
    public function getHash() {
        return $this->hash;
    }

    public function setHash($hash) {
        $this->hash = $hash;
    }


    function  __construct($id, $estado, $titulo, $usuario = null, $preguntas = array(),$hash="", $tipo = "") {
        $this->id = $id;
        $this->estado = $estado;
        $this->titulo = $titulo;
        $this->usuario = $usuario;
        $this->hash = $hash;
        $this->preguntas = $preguntas;
        $this->tipo = $tipo;
    }

    static function crearEncuesta($params){
        $id_usuario = $params['id_usuario'];
        $titulo = $params['titulo'];
        $estado = $params['estado'];
        $tipo = $params['tipo'];

        $preguntas = array();
        foreach($params['preguntas'] as $key=>$p){
            $titulo_p = $p['titulo'];
            $exclusiva = $p['exclusiva'];
            $comentario = $p['comentario'];
            if(!isset($comentario)) $comentario = "0";
            else $comentario = "1";

            $opciones = array();
            foreach($p['opciones'] as $o){
                $opciones[] = new Opcion(null, null, $o);
            }

            $preguntas[] = new Pregunta(null, $titulo_p, $key, $comentario, $exclusiva, $opciones);
        }

        return new Encuesta(null, $estado, $titulo, $id_usuario, $preguntas, "", $tipo);
    }

    public function getTitulo() {
        return $this->titulo;
    }

    public function setTitulo($titulo) {
        $this->titulo = $titulo;
    }

    public function getEstado() {
        return $this->estado;
    }

    public function setEstado($estado){
        $this->estado = $estado;
    }

    public function getPreguntas() {
        return $this->preguntas;
    }

    public function setPreguntas($preguntas) {
        $this->preguntas = $preguntas;
    }

    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
    }

    public function getUsuario() {
        return $this->usuario;
    }

    public function setUsuario($usuario) {
        $this->usuario = $usuario;
    }

    public function setControladores($controladores){
        $this->controladores = $controladores;
    }

    public function getControladores(){
        return $this->controladores;
    }

    public function setTipo($tipo){
        $this->tipo = $tipo;
    }

    public function getTipo(){
        return $this->tipo;
    }

    function agregarPregunta($pregunta) {
        array_push($this->preguntas,$pregunta);
    }

    function renderEncuesta() {
        $renderEncuesta = "<input type='hidden' name='idEncuesta' value='$this->id'>";
        $renderEncuesta .= "<input type='hidden' name='cantPreguntas' value='$this->cantidadPreguntas()'>";
        $renderEncuesta .= $this->titulo ."<br><br>";
        foreach ($this->preguntas as $preg) {
            $renderEncuesta .= $preg->renderPregunta() . "<br>";
        }
        return $renderEncuesta;

    }

    public function cantidadPreguntas() {
        return sizeof($this->preguntas);
    }

    
}
?>
